Modbus Error and Exception Response Codes

If a Modbus transaction fails a code is returned indicating why it failed. AKD2G supports the following codes from the Modbus specification and additional codes for scenarios not covered by the standard codes.

Standard Codes

Code Description  

1

Illegal Function

The received function code is not supported by the drive. AKD2G only supports function codes 3 and 16.

2

Illegal data address

The received address is not supported by the drive. AKD2G only supports addresses 40001 to 40300. If multiple registers are being accessed this code would be returned if any of the registers are beyond the supported range.

3

Illegal Data Value

When writing to the drive the value sent is incorrect. The correct range depends on which parameter is mapped to that register with MODBUS.MAP .

4

Slave Device Failure

An unexpected error occurred in the drive while processing the Modbus message.

5

Acknowledge

Not generated by AKD2G.

6

Slave Device Busy

Not generated by AKD2G.

8

Memory Parity Error

Not generated by AKD2G.

10

Gateway Path Unavailable

Not generated by AKD2G.

11

Gateway Target Device Failed To Respond

Not generated by AKD2G.

Kollmorgen Specific Codes

Code Description  

33

Register Not Mapped

MODBUS.MAP is empty for this address.

34

Command Error

Error reading or writing this register. MODBUS.ERRORS provides further details.

35

Invalid Length

One of the following causes.

  1. The received quantity of registers was zero.
  2. The received quantity of registers was greater than 123 for writes or 125 for reads.
  3. When processing function code 16 (write multiple registers) the received byte count was not twice the received quantity of registers.
36 Deferred Error This error is not returned via Modbus and is only reported in the error log. Some parameters are not executed immediately when written to via Modbus, for example AXIS#.EN or AXIS#.MOTIONCONTROL. These operations are put in a queue and executed, after the Modbus write has completed. This allows Modbus to respond quickly to messages, but allow long running operations to be started. If any of these operations fail the error is put into the error log, MODBUS.ERRORS, with this deferred error code.